Recently, a technology of multi-task systems is commonly used for executing a plurality of processes in one information processing apparatus. Information processing apparatuses, being able to provide in parallel a plurality of functions including receiving TV, executing a computer game, reproducing a moving image, sending and receiving email, or the like by one apparatus, are thus available widely and commonly. In a multi-task system, each process is divided and allocated to time slices of processor time and then executed sequentially, by which a plurality of processes are executed in parallel. Furthermore, a technology is also provided for controlling processes by partitioning a plurality of processes (e.g., for each application software corresponding to the process) and starting an operating system (hereinafter, referred to as an OS) for each partition. This allows one apparatus to manage a variety of software.
To execute a plurality of processes in parallel, not only CPU time but also resources of an information processing apparatus (e.g., a memory, an external storage, an I/O device or the like) are allocated for each process. An OS which controls the entire information processing apparatus allocates resources based on the status of process execution, a priority level relative to other processes, or the like.
Resources required by each process may change during the execution of the process. For example, when the amount of calculation required by a certain process increases, a delay may be caused with CPU time which is already allocated. In this case, the process requests additional allocation of CPU time from an OS which controls the entire information processing apparatus. The OS, which has received the request, coordinates with other processes and performs a certain processing, e.g., re-allocation of the CPU time.
However, overhead arises from: a) communication between processes and the OS with respect to additional allocation of resources; b) a processing queue maintained by the OS for processing allocation requests issued by a plurality of processes; or c) the like. The present inventors recognize that the overhead increases significantly as the number of processes to be executed in the information processing apparatus increases.
In this background, a general purpose of the present invention is to provide a technology to restrain overhead with respect to additional allocation of resources to processes.